﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum СтатусыУчетнойЗаписиДокументооборота
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"e1ce17db-091a-47e3-a4bb-2a2fcbf3879f\", \"Представление\":\"Активна\"}")]
		Активна = 0,
		[EnumMember(Value = "{\"Ссылка\":\"3c11699a-3332-4256-b1e9-ba3260c63a46\", \"Представление\":\"Заблокирована\"}")]
		Заблокирована = 1,
	}
	public static partial class СтатусыУчетнойЗаписиДокументооборота_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Активна = new Guid("2f2abba4-f3cb-9f87-47e3-091ae1ce17db");
		public static readonly Guid Заблокирована = new Guid("32bae9b1-c660-463a-4256-33323c11699a");
		public static СтатусыУчетнойЗаписиДокументооборота Получить(this СтатусыУчетнойЗаписиДокументооборота Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СтатусыУчетнойЗаписиДокументооборота Получить(this СтатусыУчетнойЗаписиДокументооборота Значение, Guid Ссылка)
		{
			if(Ссылка == Активна)
			{
				return СтатусыУчетнойЗаписиДокументооборота.Активна;
			}
			else if(Ссылка == Заблокирована)
			{
				return СтатусыУчетнойЗаписиДокументооборота.Заблокирована;
			}
			return СтатусыУчетнойЗаписиДокументооборота.ПустаяСсылка;
		}
		public static byte[] Ключ(this СтатусыУчетнойЗаписиДокументооборота Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СтатусыУчетнойЗаписиДокументооборота Значение)
		{
			switch (Значение)
			{
				case СтатусыУчетнойЗаписиДокументооборота.Активна: return Активна;
				case СтатусыУчетнойЗаписиДокументооборота.Заблокирована: return Заблокирована;
			}
			return Guid.Empty;
		}
	}
}